package com.copa.l1822;

/**
 * @author copa
 * @createDate 2022-08-29 15:25
 * @function 一次遍历法
 */
public class Test1 {

//    public int arraySign(int[] nums) {
//        int num = 1;
//        for (int i : nums) {
//            num *= i;
//        }
//        return num > 0 ? 1 : (num == 0 ? 0 : -1);
//    }

    /**
     * 我估计不少人会像我第一次那么傻去做这题，其实这题只是返回-1、0、1三个数而已，没必要真的去算，要算也只是符号位而已
     * @param nums
     * @return
     */
    public int arraySign(int[] nums) {
        int num = 1;
        for (int i : nums) {
            if (i < 0) {
                num *= -1;
                continue;
            }
            if (i == 0) {
                return 0;
            }
        }
        return num;
    }

    public static void main(String[] args) {
        int[] nums = {-1, -2, -3, -4, 3, 2, 1};
        System.out.println(new Test1().arraySign(nums));
    }
}
